package exttable.userdefineextendsclasses;

import exttable.SGTTestParametrs;

import javax.swing.*;
import java.awt.*;

/**
 * Created by IntelliJ IDEA.
 * User: ADMIN
 * Date: 18.08.11
 * Time: 15:12
 * To change this template use File | Settings | File Templates.
 */
public class UserDefineJMenu extends JMenu {
    int accessLevel;


    private int getAccessLevel() {
        return accessLevel;
    }

    private void setAccessLevel(int accessLevel) {
        this.accessLevel = accessLevel;
    }

    public UserDefineJMenu(String s, int accessLevel) {
        super(s);
        this.accessLevel = accessLevel;
    }

    @Override
    public boolean isVisible() {
        return SGTTestParametrs.getInstance().getUserAccessLevel() >= accessLevel;
    }

//    public static void lookOverJMenuBar(JMenuBar jMenuBar) {
//        int countJMenu = jMenuBar.getMenuCount();
//        for (int i = 0; i < countJMenu; i++) {
//            UserDefineJMenu jMenu = (UserDefineJMenu) jMenuBar.getMenu(i);
//            if (SGTTestParametrs.getInstance().getUserAccessLevel() < jMenu.getAccessLevel()) {
//                jMenu.setVisible(false);
//            } else {
//                jMenu.setVisible(true);
//            }
//            System.out.println(jMenu.getText() + " access_level: " + jMenu.getAccessLevel());
//            System.out.println("count : " + jMenu.getMenuComponentCount());
//            if (jMenu.getMenuComponentCount() > 0) {
//                lookOverJMenu(jMenu);
//            }
//        }
//    }

//    public static void lookOverJMenu(UserDefineJMenu jMenu) {
//        int level = SGTTestParametrs.getInstance().getUserAccessLevel();
//        for (Component componentJMenu : jMenu.getMenuComponents()) {
//            if (componentJMenu.getClass().getSimpleName().equals("UserDefineJMenu")) {
//                UserDefineJMenu subJMenu = (UserDefineJMenu) componentJMenu;
//                System.out.println("subJMenu: " + subJMenu.getText() + " access_level: " + subJMenu.getAccessLevel());
//                if (level < subJMenu.getAccessLevel()) {
//                    subJMenu.setVisible(false);
//                } else {
//                    subJMenu.setVisible(true);
//                }
//                if (subJMenu.getMenuComponentCount() > 0) {
//                    lookOverJMenu(subJMenu);
//                }
//            } else if (componentJMenu.getClass().getSimpleName().equals("UserDefineJMenuItem")) {
//                UserDefineJMenuItem menuItem = (UserDefineJMenuItem) componentJMenu;
//                System.out.println("menuItem: " + menuItem.getText() + " access_level: " + menuItem.getAccessLevel());
//                if (level < menuItem.getAccessLevel()) {
//                    menuItem.setVisible(false);
//                } else {
//                    menuItem.setVisible(true);
//                }
//            }
//        }
//    }
}
